/**
*@Author      ：anlzou
*@Date        ：22:15 2021/4/24
*@Github      ：https://github.com/anlzou
*@Description ：
*/
package com.anlzou.myInvocationHandler;

import com.anlzou.mainDemo.Main;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.util.Scanner;

public class MyInvocationHandler implements InvocationHandler {
    //拦截器
    private Object obj;

    public MyInvocationHandler(Object obj){
        this.obj=obj;
    }

    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        //首先看是否开启了拦截模式
        if(Main.checkFlag){
            Scanner sc=new Scanner(System.in);
            System.out.println("输入用户名：");
            String username=sc.next();
            System.out.println("输入密码： ");
            String password=sc.next();
            //如果开启了，检查用户名以及密码是否正确
            if(username.equals(Main.username)&&password.equals(Main.password)){
                System.out.println("通过校验！！！");
                return method.invoke(obj, args);
            }else{
                System.out.println("没有通过校验");
                return null;
            }
        }else{
            return method.invoke(obj, args);
        }
    }

}
